diff --git a/system/database/DB_utility.php b/system/database/DB_utility.php
index 8e1921d..128984d 100644
--- a/system/database/DB_utility.php
+++ b/system/database/DB_utility.php
@@ -181,7 +181,8 @@
 			return FALSE;			
     	}
     	
-    	return $this->_field_data($this->db->dbprefix.$table);
+		$query = $this->db->query($this->_field_data($this->db->dbprefix.$table));
+		return $query->field_data();
 	}	
 	
 	// --------------------------------------------------------------------
@@ -208,6 +209,32 @@
 		return current($fields);
 	}
 
+	// --------------------------------------------------------------------
+
+	/**
+	 * Create database
+	 *
+	 * @access	public
+	 * @param	string	the database name
+	 * @return	bool
+	 */
+	function create_database($name)
+	{
+		$sql = $this->_create_database($name);
+		
+		if (is_bool($sql))
+		{
+			return $sql;
+		}
+	
+		return $this->db->query($sql);
+	}
+
+	// --------------------------------------------------------------------
+
+
+
+
 
 
 	function create_table()
diff --git a/system/database/drivers/mssql/mssql_utility.php b/system/database/drivers/mssql/mssql_utility.php
index 61fe5fc..49b63b7 100644
--- a/system/database/drivers/mssql/mssql_utility.php
+++ b/system/database/drivers/mssql/mssql_utility.php
@@ -28,13 +28,13 @@
 	/**
 	 * Create database
 	 *
-	 * @access	public
+	 * @access	private
 	 * @param	string	the database name
 	 * @return	bool
 	 */
-	function create_database($name)
+	function _create_database($name)
 	{
-		return $this->db->query("CREATE DATABASE ".$name);
+		return "CREATE DATABASE ".$name;
 	}
 
 	// --------------------------------------------------------------------
@@ -84,7 +84,7 @@
 	 */
 	function drop_table($table)
 	{
-		"DROP TABLE ".$this->db->_escape_table($name);
+		return $this->db->query("DROP TABLE ".$this->db->_escape_table($name));
 	}
 
 	// --------------------------------------------------------------------
@@ -144,9 +144,7 @@
 	 */
 	function _field_data($table)
 	{
-		$sql = "SELECT TOP 1 FROM ".$this->db->_escape_table($table);
-		$query = $this->db->query($sql);
-		return $query->field_data();
+		return "SELECT TOP 1 FROM ".$this->db->_escape_table($table);	
 	}
 	
 
diff --git a/system/database/drivers/mysql/mysql_utility.php b/system/database/drivers/mysql/mysql_utility.php
index 23c4e09..e5f8e85 100644
--- a/system/database/drivers/mysql/mysql_utility.php
+++ b/system/database/drivers/mysql/mysql_utility.php
@@ -27,13 +27,13 @@
 	/**
 	 * Create database
 	 *
-	 * @access	public
+	 * @access	private
 	 * @param	string	the database name
 	 * @return	bool
 	 */
-	function create_database($name)
+	function _create_database($name)
 	{
-		return $this->db->query("CREATE DATABASE ".$name);
+		return "CREATE DATABASE ".$name;
 	}
 
 	// --------------------------------------------------------------------
@@ -83,7 +83,7 @@
 	 */
 	function drop_table($table)
 	{
-		"DROP TABLE IF EXISTS ".$this->db->_escape_table($name);
+		return $this->db->query("DROP TABLE IF EXISTS ".$this->db->_escape_table($name));
 	}
 
 	// --------------------------------------------------------------------
@@ -143,9 +143,7 @@
 	 */
 	function _field_data($table)
 	{
-		$sql = "SELECT * FROM ".$this->db->_escape_table($table)." LIMIT 1";
-		$query = $this->db->query($sql);
-		return $query->field_data();
+		return "SELECT * FROM ".$this->db->_escape_table($table)." LIMIT 1";
 	}
 
 
diff --git a/system/database/drivers/mysqli/mysqli_utility.php b/system/database/drivers/mysqli/mysqli_utility.php
index ca8f3fe..1775047 100644
--- a/system/database/drivers/mysqli/mysqli_utility.php
+++ b/system/database/drivers/mysqli/mysqli_utility.php
@@ -27,13 +27,13 @@
 	/**
 	 * Create database
 	 *
-	 * @access	public
+	 * @access	private
 	 * @param	string	the database name
 	 * @return	bool
 	 */
-	function create_database($name)
+	function _create_database($name)
 	{
-		return $this->db->query("CREATE DATABASE ".$name);
+		return "CREATE DATABASE ".$name;
 	}
 
 	// --------------------------------------------------------------------
@@ -83,7 +83,7 @@
 	 */
 	function drop_table($table)
 	{
-		"DROP TABLE IF EXISTS ".$this->db->_escape_table($name);
+		return $this->db->query("DROP TABLE IF EXISTS ".$this->db->_escape_table($name));
 	}
 
 	// --------------------------------------------------------------------
@@ -143,9 +143,7 @@
 	 */
 	function _field_data($table)
 	{
-		$sql = "SELECT * FROM ".$this->db->_escape_table($table)." LIMIT 1";
-		$query = $this->db->query($sql);
-		return $query->field_data();
+		return "SELECT * FROM ".$this->db->_escape_table($table)." LIMIT 1";
 	}
 	
 
diff --git a/system/database/drivers/oci8/oci8_utility.php b/system/database/drivers/oci8/oci8_utility.php
index 7e3ee72..74b0165 100644
--- a/system/database/drivers/oci8/oci8_utility.php
+++ b/system/database/drivers/oci8/oci8_utility.php
@@ -32,7 +32,7 @@
 	 * @param	string	the database name
 	 * @return	bool
 	 */
-	function create_database($name)
+	function _create_database($name)
 	{
 	}
 
@@ -130,9 +130,7 @@
      */
     function _field_data($table)
     {
-        $sql = "SELECT * FROM ".$this->db->_escape_table($table)." where rownum = 1";
-        $query = $this->db->query($sql);
-        return $query->field_data();
+		return "SELECT * FROM ".$this->db->_escape_table($table)." where rownum = 1";
     }
 
 
diff --git a/system/database/drivers/odbc/odbc_utility.php b/system/database/drivers/odbc/odbc_utility.php
index cfd829c..74f8d39 100644
--- a/system/database/drivers/odbc/odbc_utility.php
+++ b/system/database/drivers/odbc/odbc_utility.php
@@ -28,11 +28,11 @@
 	/**
 	 * Create database
 	 *
-	 * @access	public
+	 * @access	private
 	 * @param	string	the database name
 	 * @return	bool
 	 */
-	function create_database($name)
+	function _create_database()
 	{
 		// ODBC has no "create database" command since it's 
 		// designed to connect to an existing database
@@ -156,9 +156,7 @@
 	 */
 	function _field_data($table)
 	{
-		$sql = "SELECT TOP 1 FROM ".$this->db->_escape_table($table);
-		$query = $this->db->query($sql);
-		return $query->field_data();
+		return "SELECT TOP 1 FROM ".$this->db->_escape_table($table);
 	}
 
 
diff --git a/system/database/drivers/postgre/postgre_utility.php b/system/database/drivers/postgre/postgre_utility.php
index 7bb210a..8e51623 100644
--- a/system/database/drivers/postgre/postgre_utility.php
+++ b/system/database/drivers/postgre/postgre_utility.php
@@ -28,13 +28,13 @@
 	/**
 	 * Create database
 	 *
-	 * @access	public
+	 * @access	private
 	 * @param	string	the database name
 	 * @return	bool
 	 */
-	function create_database($name)
+	function _create_database($name)
 	{
-		return $this->db->query("CREATE DATABASE ".$name);
+		return "CREATE DATABASE ".$name;
 	}
 
 	// --------------------------------------------------------------------
@@ -84,7 +84,7 @@
 	 */
 	function drop_table($table)
 	{
-		"DROP TABLE ".$this->db->_escape_table($name)." CASCADE";
+		return $this->db->query("DROP TABLE ".$this->db->_escape_table($name)." CASCADE");
 	}
 
 	// --------------------------------------------------------------------
@@ -144,9 +144,7 @@
 	 */
 	function _field_data($table)
 	{
-		$sql = "SELECT * FROM ".$this->db->_escape_table($table)." LIMIT 1";
-		$query = $this->db->query($sql);
-		return $query->field_data();
+		return "SELECT * FROM ".$this->db->_escape_table($table)." LIMIT 1";
 	}
 
 
diff --git a/system/database/drivers/sqlite/sqlite_utility.php b/system/database/drivers/sqlite/sqlite_utility.php
index 744ca3f..14b406a 100644
--- a/system/database/drivers/sqlite/sqlite_utility.php
+++ b/system/database/drivers/sqlite/sqlite_utility.php
@@ -32,7 +32,7 @@
 	 * @param	string	the database name
 	 * @return	bool
 	 */
-	function create_database()
+	function _create_database()
 	{
 		// In SQLite, a database is created when you connect to the database
 		return TRUE;
@@ -152,9 +152,7 @@
 	 */
 	function _field_data($table)
 	{
-		$sql = "SELECT * FROM ".$this->db->_escape_table($table)." LIMIT 1";
-		$query = $this->db->query($sql);
-		return $query->field_data();
+		return "SELECT * FROM ".$this->db->_escape_table($table)." LIMIT 1";
 	}
 
 
